﻿namespace WayneGameSolution.GameLogic
{
    using System;
    using System.Collections.Generic;
    using WayneGameSolution.Membership;
    using WayneGameSolution.Packs;

    public interface IGameLogic
    {
        void BroadcastPack(IDataPack Pack);
        ILogicPlayer CreateLogicPlayer(IPlayer baseplayer);
        IDictionary<string, string> GetGameRelatedInfomation(string UID);
        void PushPack(string UID, IDataPack Pack);
        void PushPack(IUser User, IDataPack Pack);
        bool ReceiveLogicPack(IDataPack cmdPack);
        void Reset();
        object SaveGameRelatedInfomation(string UID, IDictionary<string, string> infoDic);

        Queue<IDataPack> InputPackQueue { get; }

        IDictionary<string, object> ValueDictionary { get; }
    }
}

